package com.ktjy.config;

import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 * RestHttpConfig OpenFeign配置，RestTemplate配置类
 *
 * @author LILIBO
 * @since 2025/5/28
 */
@Configuration
public class RestHttpConfig {

    /**
     * 发起HTTP远程调用
     */
    @Bean
    // @LoadBalanced // 负载均衡的方式远程调用微服务（只要写微服务名）
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

    /**
     * 配置Feign日志记录级别
     */
    @Bean
    public Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }

    /**
     * 配置Feign重试机制
     */
    @Bean
    public Retryer feignRetryer() {
        return new Retryer.Default();
    }

}
